package com.bh.wms.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.bh.common.annotation.Excel;
import com.bh.common.core.domain.BhtmsBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.util.Date;

/**
 * 入库明细
 *
 * @author GPT
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("wms_inbound_order_detail")
@ApiModel(value = "入库明细", description = "入库单明细信息")
public class WmsInboundOrderDetail extends BhtmsBaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("入库单ID")
    @Excel(name = "入库单ID")
    private Long inboundOrderId;

    @ApiModelProperty("行号")
    @Excel(name = "行号")
    private Integer lineNo;

    @ApiModelProperty("SKU ID")
    @Excel(name = "SKU ID")
    private Long skuId;

    @ApiModelProperty("批次号")
    @Excel(name = "批次号")
    private String batchNo;

    @ApiModelProperty("计划数量")
    @Excel(name = "计划数量")
    private Integer planQuantity;

    @ApiModelProperty("收货数量")
    @Excel(name = "收货数量")
    private Integer receiveQuantity;

    @ApiModelProperty("合格数量")
    @Excel(name = "合格数量")
    private Integer qualifiedQuantity;

    @ApiModelProperty("不合格数量")
    @Excel(name = "不合格数量")
    private Integer unqualifiedQuantity;

    @ApiModelProperty("上架货位")
    @Excel(name = "上架货位")
    private Long putawayLocationId;

    @ApiModelProperty("生产日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", dateFormat = "yyyy-MM-dd")
    private Date productionDate;

    @ApiModelProperty("失效日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "失效日期", dateFormat = "yyyy-MM-dd")
    private Date expireDate;

    @ApiModelProperty("备注")
    private String remark;
}

